﻿namespace WMS6.Services
{
    using System;
    using System.Collections.Generic;
    using System.ServiceModel;
    using WMS6.Common;
    using WMS6.DataEntity;

    [ServiceContract(Namespace="WMS6.Services")]
    public interface ICommonMethodService2
    {
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(SysCode4DDL)), OperationContract]
        List<SysCode4DDL> GetBaseInfoForDDLSource(string sourceFrom, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), OperationContract, ServiceKnownType(typeof(InvPalletInfo)), FaultContract(typeof(FaultDetail))]
        List<InvPalletInfo> GetInvPalletByIDAndType(string docID, string docType, PubParasInfo pubParasInfo);
        [OperationContract, ServiceKnownType(typeof(InvPalletInfo)), FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PubParasInfo))]
        string InsertInvPallet(List<InvPalletInfo> invPalletListInfo, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PubParasInfo)), ServiceKnownType(typeof(PrintControlInfo)), OperationContract]
        string ReleasePrintControl(List<PrintControlInfo> printControlInfos, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PrintControlInfo)), FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PubParasInfo)), OperationContract]
        string SavePrintControl(List<PrintControlInfo> printControlInfos, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        int UpdateASNAndSOSingleField(string orderType, string orderID, string updatedField, string value, PubParasInfo pubParasInfo);
        [ServiceKnownType(typeof(PubParasInfo)), FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PrintControlInfo)), OperationContract]
        int UpdateDeclarations(string Type, string keyID, string ExternOrderID, string CoreReleaseID, string WorkOrder, PubParasInfo pubParasInfo);
        [FaultContract(typeof(FaultDetail)), ServiceKnownType(typeof(PrintControlInfo)), OperationContract, ServiceKnownType(typeof(PubParasInfo))]
        int UpdateExternOrderID(string Type, string keyID, string ExternOrderID, PubParasInfo pubParasInfo);
    }
}

